package com.itheima.mylambda.text5;
/*
- 定义一个接口(Eatable)，里面定义一个抽象方法：void eat();
- 定义一个测试类(EatableDemo)，在测试类中提供两个方法
  - 一个方法是：useEatable(Eatable e)
  - 一个方法是主方法，在主方法中调用useEatable方法
 */
public class Demo5 {
    public static void main(String[] args) {
        //想要调用下面的eat方法可以使用创建一个实现类对象去调用
         new Eatable() {
             @Override
             public void eat() {
                 System.out.println("ppp");
             }
         }.eat();
        //也可以通过调用下面的useEatable去调用
       useEatable(new Eatable() {
           @Override
           public void eat() {
               System.out.println("吃饭");
           }
       });
       //最后剋使用lambda表达式去使用
        useEatable(()->System.out.println("吃饭"));
    }



    public static void useEatable(Eatable eatable){ //静态的方法只能调用静态的方法,此括号内的Eatable eatable及是一个实现类,再用雷区调用对象
        eatable.eat();
    }
}
//定义一个接口(Eatable)，里面定义一个抽象方法：void eat();
interface Eatable{
    void eat();
}
class EatableImpl implements Eatable{
    @Override
    public void eat() {
        System.out.println("ooo");
    }
}